Creating a game leaderboard with Windows Azure Mobile Services


Windows Runtime
azure mobile services
Windows RT
en-US
11/25/2013

This sample shows how Windows Azure Mobile Services enables you to add, update, and view a game leaderboard for your Windows Store app.

This Windows Store app demonstrates a simple trivia quiz app. It asks for your user name and shows a random set of predetermined trivia questions. After you answer all of the questions, the app updates your result in a Mobile Services table and then displays a leaderboard with your relative position among all of the quiz app players.

To obtain an evaluation copy of Windows 8.1, go to Windows 8.1.

To obtain an evaluation copy of Microsoft Visual Studio 2013, go to Visual Studio 2013.

Note  For Windows 8 app samples, download the Windows 8 app samples pack. The samples in the Windows 8 app samples pack will build and run only on Microsoft Visual Studio 2012.

Related topics

free Windows Azure trial
Windows Azure management portal
Windows app samples

Operating system requirements

Client
Windows 8.1
Server
Windows Server 2012 R2

Build the sample

  1. If you do not have a Windows Azure subscription, sign up for a free Windows Azure trial.
  2. Install the Windows Azure command line tools.
  3. Open a command prompt to download the required credentials to communicate with Windows Azure as follows. This is a one-time setup for running all subsequent commands to manage Mobile Services:
    1. Download Windows Azure management credentials with this command: azure account download.                   This will display a web page for you to sign in to the Windows Azure management portal. After you sign in, Windows Azure will prompt you to download a publish settings file for your Windows Azure subscription. Save this file to your local computer.
    2. Import the publish settings file from this location with this command: azure account import [SavedLocation]. This will configure your command prompt to manage all of your Windows Azure services from the command line.
  4. Create a Windows Azure Mobile Service with this command: azure mobile create [AzureMobileServiceName] [sqlAdminUsername] [sqlAdminPassword]
  5. Create a Leaderboard table and a Results table to store to store the positions of all players and the results of each round, with these commands:
    • azure mobile table create [AzureMobileServiceName] Leaderboard
    • azure mobile table create [AzureMobileServiceName] Result
    • azure mobile table create [AzureMobileServiceName] Feedback
  6. Upload a script to your Windows Azure Mobile Service that which will update the score and the position of the player in the leaderboard as the results are entered. From a command line, change to the sample's Scripts directory, and then run this command: azure mobile script upload [AzureMobileServiceName] table/result.insert.js.
  7. Get the ApplicationUrl and ApplicationKey for your Windows Azure Mobile Service with this command: azure mobile show [AzureMobileServiceName]
  8. Install the Windows Azure Mobile Services NuGet package.
  9. Open the App.xaml.cs file and replace "mobile-service-url" and "mobile-service-key" with the ApplicationUrl and ApplicationKey. Your Windows Store app is now configured to communicate with your created Windows Azure Mobile Service.
  10. Click Build > Build Solution.

Run the sample

  1. To debug the app and then run it in Microsoft Visual Studio, press F5 or use Debug > Start Debugging. To run the app without debugging, press Ctrl+F5 or use Debug > Start Without Debugging.
  2. After the app starts, answer the three questions in the app. After you finish the game, your results are then sent to be inserted into your Windows Azure Mobile Service Results table. As the row is being inserted, the uploaded script runs to update the Leaderboard table with the new total score and positions. Finally, the app will update to display the leaderboard data from the Leaderboard table.
  3. You can also go to the Windows Azure management portal, sign in, and view your Windows Azure Mobile Service and the saved data.